This invention relates to data processing systems.
More specifically, the invention is concerned with a data processing system of the kind in which the workload of the system is divided into packets, each packet specifying a function and one or more arguments to which the function is to be applied. One system of this kind is described, for example, in "ALICE--A Multi-processor reduction Machine for the Parallel evaluation of applicative languages" by J. Darlington and M. Reeve, Proceedings of the ACM Conference on Functional Programming Languages and Computer Architecture, 1981.
In known systems of this kind, the packets are generally all processed by the same processing algorithm. For example, the processing algorithm may first inspect the arguments of the packet to determine whether all the arguments necessary for performing the function have been evaluated. If they have, the specified function is executed; if not, then one or more further packets are activated, so as to evaluate the required arguments.
A disadvantage of this, however, is that it can result in redundant actions being performed, and hence can lead to inefficiency. One object of the present invention is to provide a way of avoiding or at least reducing this inefficiency.